src/fibonacci.js
zzmq.dev@gmail.com[dev3]/mathkit[add-fibonacci-n-function-returns-nth] / src / fibonacci.js
@ f12756cf
Download
Ladder Summary
- file Add a Fibonacci function with export and tests
/**
* Returns the nth Fibonacci number.
*
* The sequence is defined as:
* F(0) = 0
* F(1) = 1
* F(n) = F(n‑1) + F(n‑2) for n > 1
*
* @param {number} n - Non‑negative integer index.
* @returns {number} The nth Fibonacci number, or NaN for invalid input.
*/
export function fibonacci(n) {
if (typeof n !== "number" || !Number.isInteger(n) || n < 0) {
return NaN;
}
if (n === 0) return 0;
let a = 0,
b = 1;
for (let i = 1; i < n; i++) {
const next = a + b;
a = b;
b = next;
}
return b;
}